package models

import (
	"time"
)

type Portrait struct {
	Id                 int       `xorm:"not null pk autoincr comment('自增主键') INT(11)" json:"id" form:"id"`
	UserId             int       `xorm:"not null comment('用户id外键关联dts_user表中的id') INT(11)" json:"user_id" form:"user_id"`
	TerminalId         int       `xorm:"not null comment('终端id外键关联dts_terminal表中的id') INT(11)" json:"terminal_id" form:"terminal_id"`
	InstitutionCode    string    `form:"portrait_code" xorm:"comment('运管统一编码') VARCHAR(16)" json:"institution_code" json:"institution_code"`
	View               string    `xorm:"default 'F' comment('视图类型，F正视图，L左视图，R右视图') ENUM('F','L','R')" json:"view" json:"view"`
	ImageUrl           string    `xorm:"not null comment('头像图片路径') VARCHAR(255)" form:"image_url" json:"image_url" json:"image_url"`
	Drilicimg          string    `xorm:"not null comment('驾驶证照片') VARCHAR(255)" form:"drilicimg" json:"drilicimg" json:"drilicimg"`
	CardUrl            string    `xorm:"not null comment('身份证照片') VARCHAR(255)" form:"card_url" json:"card_url" json:"card_url"`
	PortraitIdentifier string    `xorm:"default '' comment('头像识别码') VARCHAR(512)" json:"portrait_identifier" json:"portrait_identifier"`
	AddTime            time.Time `xorm:"not null comment('头像添加时间') DATETIME"`
	Status             string    `xorm:"default '0' comment('头像合法性审核状态，0：待审核，1：机审通过，2：机审未通过，3：人审通过，4：人审未通过') ENUM('0','1','2','3','4')"`
}

func (c *Portrait) GetStudentPortraitById(id int64) (has bool, list Portrait, err error) {
	if has, err = engine.Table("dts_portrait").
		Where("id = ?", id).
		Get(&list); err != nil {
		return has, list, err
	}
	return has, list, nil
}

func (c *Portrait) Edit(who ...string) (coach *Portrait, err error) {
	if _, err = engine.ID(c.Id).Cols(who...).Update(c); err != nil {
		return nil, err
	}
	return c, err
}
